home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / RestrTView.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  1KB  |  46 lines

  1. #ifndef RestrTView_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define RestrTView_First
  6.  
  7. #include "TextView.h"
  8.  
  9. //---- RestrTextView --------------------------------------------------------
  10. // restricted textview: the contents of a restricted textview will always match
  11. // a regular expression
  12.  
  13. class RestrTextView: public TextView {
  14.     class RegularExp *rex;
  15.  
  16.     bool Match(class Text*, RegularExp *);
  17.     class Text *CopyText();
  18.  
  19. public:
  20.     MetaDef(RestrTextView);
  21.     
  22.     RestrTextView(EvtHandler *eh, RegularExp *, Rectangle r,  
  23.          Text *t, eTextJust m= eLeft, eSpacing= eOne, bool wrap= TRUE,
  24.         TextViewFlags= (TextViewFlags)eVObjDefault, 
  25.             Point border= gBorder, int id = -1);    
  26.         
  27.     virtual void NotAccepted ();
  28.         // text modification refused due to mismatch with
  29.         // regular expression, default implementation executes a ring bell
  30.     
  31.     RegularExp *GetRegExp()
  32.     { return rex; }
  33.     void SetRegExp(RegularExp*);
  34.         
  35.     //---- overriden to check match against regular expression 
  36.     void Cut();            
  37.     void Paste(Text *insert); 
  38.     
  39.     //---- activation passivation ----------------------------------------------
  40.     ostream& PrintOn (ostream&s);
  41.     istream& ReadFrom(istream &);
  42.     
  43. };
  44.  
  45. #endif RestrTView_First  
  46.